iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0
AI & Data

Attention到底在關注什麼?系列 第 17

Day 17 self-attention的實作準備(三) 測試使用keras來建立模型

  • 分享至 

  • xImage
  •  

前言

昨天說到要跑範例程式,但是只有做到下載資料集,以及切分資料集,今天來建立模型

利用Sequential API來建立模型

model = keras.models.Sequential()
model.add(keras.layers.Flatten(input_shape=[28, 28]))
model.add(keras.layers.Dense(300, activation="relu"))
model.add(keras.layers.Dense(100, activation="relu"))
model.add(keras.layers.Dense(10, activation="softmax"))

我們來了解一下這個程式
第一行是建立一個Sequential的模型,這是keras神經網路種類中最簡單的
接下來建立第一層,並將它加入模型。這是一個Flatten層,功能是將每一個輸入的圖片都轉換成1D的陣列
第二層是一個Dense層,有300個神經元,使用Relu來當作激活函數
第三層也是一個Dense層,有100個神經元,也是使用Relu來當作激活函數
最後一層是一個Dense層,它有10個神經元,使用softmax當作激活函數

model.summary()

模型的summary()方法可以顯示模型的每一層,包括每一層的名稱、輸出外型(Output shape),以及訓練參數量。摘要的結尾是參數的總數,包括可以訓練的和不可訓練的參數。

Dense層通常會有很多參數。第一個隱藏層就有235,500個參數,所以模型有大量的靈活度可以擬合訓練資料,但是這也代表模型會有過擬合的問題。

keras.utils.plot_model(model)

這個function可以用來產生模型的圖像

後記

今天講完如何建立模型,明天會講到模型的compile跟fit,這樣就完成一次完整的訓練了


上一篇
Day 16 self-attention的實作準備(二) 設定tensorflow和keras的環境
下一篇
Day 18 self-attention的實作準備(四) keras的compile和fit
系列文
Attention到底在關注什麼?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言